package org.mbcorp.sar.util.mail;

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.ObjectMessage;
import javax.jms.Session;

import org.mbcorp.sar.model.Alerta;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Service;

@Service("amqMsgProducer")
public class AMQMsgProducer {

	@Autowired
	JmsTemplate jmsTemplate;

	public void produce(final String asunto, final String cuerpo, final String emailDestino) {

		jmsTemplate.send(new MessageCreator() {
			public Message createMessage(Session session) throws JMSException {
				Alerta a = new Alerta();
				a.setCuerpo(cuerpo);
				a.setAsunto(asunto);
				a.setEmailDestino(emailDestino);
				ObjectMessage message = session.createObjectMessage(a);
				System.out.println("Enviando en ["
						+ jmsTemplate.getDefaultDestination() + "] objeto como "
						+ a.toString());

				return message;

			}

		});

	}

}